export function useLocale() {
  const { t, locale: currentLocale, locales, setLocale } = useI18n()

  const isCN = computed(() => currentLocale.value === 'zh')

  const nextLocale = computed(() => {
    const nextLocaleCode = currentLocale.value === 'en' ? 'zh' : 'en'
    return locales.value.find(locale => locale.code === nextLocaleCode)
  })

  function toggleLocale() {
    setLocale(nextLocale.value?.code || currentLocale.value)
    setTimeout(() => {
      window.location.reload()
    }, 500)
  }

  return {
    locale: currentLocale,
    currentLocale,
    isCN,
    nextLocale,
    locales,

    t,
    setLocale,
    toggleLocale,
  }
}
